package com.edu.exam.enums.quality.monitoring;

/**
 * 违规处理状态枚举
 * 
 * <p>定义违规行为的处理状态分类。</p>
 * 
 * @author 系统生成
 * @version 1.0
 * @since 2025-11-10
 */
public enum ViolationStatus {
    
    /**
     * 已上报
     * <p>违规行为已上报。</p>
     */
    REPORTED("已上报", "违规行为已上报"),
    
    /**
     * 已分配
     * <p>违规行为已分配给处理人员。</p>
     */
    ASSIGNED("已分配", "违规行为已分配给处理人员"),
    
    /**
     * 处理中
     * <p>违规行为正在处理中。</p>
     */
    IN_PROGRESS("处理中", "违规行为正在处理中"),
    
    /**
     * 已处理
     * <p>违规行为已处理完成。</p>
     */
    RESOLVED("已处理", "违规行为已处理完成"),
    
    /**
     * 已关闭
     * <p>违规行为已关闭。</p>
     */
    CLOSED("已关闭", "违规行为已关闭"),
    
    /**
     * 已撤销
     * <p>违规行为已撤销。</p>
     */
    REVOKED("已撤销", "违规行为已撤销");
    
    private final String displayName;
    private final String description;
    
    ViolationStatus(String displayName, String description) {
        this.displayName = displayName;
        this.description = description;
    }
    
    public String getDisplayName() {
        return displayName;
    }
    
    public String getDescription() {
        return description;
    }
    
    /**
     * 根据显示名称获取枚举
     * 
     * @param displayName 显示名称
     * @return 对应的枚举值
     */
    public static ViolationStatus fromDisplayName(String displayName) {
        for (ViolationStatus status : values()) {
            if (status.getDisplayName().equals(displayName)) {
                return status;
            }
        }
        return REPORTED;
    }
    
    }